fix: add DeepSeek V4 Flash to picker catalog - #27
Conversation
…id alias blockrun/deepseek/deepseek-v4-flash was never a real SKU: the gateway removed paid V4 Flash and kept only a legacy alias to deepseek-chat, so the picker entry duplicated deepseek-chat under a delisted name (and the bare string deepseek-v4-flash routes to the FREE model in ClawRouter, so one label billed two prices). The genuinely missing curated entry is free/deepseek-v4-flash, which top-models.json lists after free/mistral-large-3-675b. - move the entry to the free tail across models.py, the provider template, tests, SKILL.md, and docs - append free/qwen3-next-80b-a3b-instruct to the end of the free tail (post-top-models addition; was interleaved, contradicting the mirror-then-append convention the test documents) - deny-list blockrun/deepseek/deepseek-v4-flash in retired_models so a bad merge can't resurrect it - add a cross-catalog mirror test against a sibling ClawRouter checkout (skips in CI) validating membership and relative order against top-models.json
|
Pre-landing review (Claude structured + Claude adversarial + Codex, all three agreed) found the originally added ID Pushed |
Summary
Add DeepSeek V4 Flash to the curated ClawRouter-Hermes picker catalog — as
blockrun/free/deepseek-v4-flash, the NVIDIA-hosted free catalog entry.The originally proposed
blockrun/deepseek/deepseek-v4-flashwas never a real SKU: the gateway removed the paid V4 Flash model and kept only a legacy alias todeepseek/deepseek-chat(which is already in the picker), so the entry would have been a duplicate button under a delisted name. The genuinely missing curated entry is the free variant, which ClawRouter'stop-models.jsonlists right afterfree/mistral-large-3-675b.Changes
blockrun/free/deepseek-v4-flashto the free tail afterblockrun/free/mistral-large-3-675b(mirrorstop-models.json) in the curated list, the materialized provider template, and the picker ordering tests.blockrun/free/qwen3-next-80b-a3b-instructto the end of the free tail (post-top-models addition; was interleaved, contradicting the mirror-then-append convention the test documents).blockrun/deepseek/deepseek-v4-flashinretired_modelsso a bad merge can't resurrect the phantom ID.top-models.json.Verification
python3 -m pytest→78 passed, 3 skippedsrc/top-models.json)free/deepseek-v4-flashis a real catalog model (nvidia/deepseek-v4-flashupstream);deepseek/deepseek-v4-flashexists only inMODEL_ALIASES→deepseek/deepseek-chat